#include <iostream>
#include <algorithm>

int a1, b1, a2, b2, a3, b3;

bool judge()
{
	if (a1 > b1) std::swap(a1, b1);
	if (a2 > b2) std::swap(a2, b2);
	if (a3 > b3) std::swap(a3, b3);
	if (a1 >= std::max(a2, a3) && b1 >= b2 + b3) return true;

	int t1 = a2 + a3, t2 = std::max(b2, b3);
	if (t1 > t2) std::swap(t1, t2);
	if (a1 >= t1 && b1 >= t2) return true;

	t1 = std::max(a2, b3); t2 = b2 + a3;
	if (t1 > t2) std::swap(t1, t2);
	if (a1 >= t1 && b1 >= t2) return true;

	t1 = a2 + b3; t2 = std::max(b2, a3);
	if (t1 > t2) std::swap(t1, t2);
	if (a1 >= t1 && b1 >= t2) return true;

	return false;
}

int main()
{
	std::cin >> a1 >> b1 >> a2 >> b2 >> a3 >> b3;
	std::cout << (judge() ? "YES" : "NO") << '\n';
}

